using System;

namespace InfiniTec.Threading
{
	public class WaitForAsyncResultOperation : OperationProgress
	{
		private readonly IAsyncResult _AsyncResult;


		public WaitForAsyncResultOperation(IAsyncResult asyncResult)
			: this(asyncResult, null, 0)
		{
		}

		public WaitForAsyncResultOperation(IAsyncResult asyncResult, object status)
			: this(asyncResult, status, 0)
		{
		}

		public WaitForAsyncResultOperation(IAsyncResult asyncResult, object status, int progressPercentage)
			: base(status, progressPercentage)
		{
			_AsyncResult = asyncResult;
		}

		public IAsyncResult AsyncResult { get { return _AsyncResult; } }
	}
}